Python Opencv 实现鼠标事件(包含一个练习) | 您所在的位置:网站首页 › inventor 自定义鼠标动作 › Python Opencv 实现鼠标事件(包含一个练习) |
文章目录
鼠标事件概述
鼠标事件发生的结构
鼠标回调函数的标准格式
opencv下包含的所有事件——包含flag和event(可以看一下,熟悉常见事件范围)
鼠标事件的实现函数
一个完整的鼠标事件由一个自定义的鼠标回调函数+实现鼠标回调函数的设置
实现一个鼠标事件
第一步·创建自定义鼠标回调函数(记得调用库哦~)
第二步·我们在__main__部分里,实现回调函数
完整代码
效果展示
小案例——训练鼠标回调函数——以及多边形绘制
要求
思路
代码实现
效果展示
QQ:3020889729 小蔡
鼠标事件概述
opencv可以实现gui拥有的功能——所以,opencv中也包含了鼠标事件——通过点击等等事件,执行相应的回调函数,实现指定的功能,最终实现交互!!! 鼠标事件发生的结构 鼠标回调函数的标准格式鼠标回调函数的构造:函数名任意——但是参数应依次包含:event(事件),x, y,flags(标志),param(其它参数) 补充一下:事件和标志都可以作为事件触发的条件!!! import cv2 as cv import numpy as np def mouse_circle(event, x, y, flags, param): if event == cv.EVENT_LBUTTONDOWN: # 该事件为鼠标左键按下 pass # 执行任务 opencv下包含的所有事件——包含flag和event(可以看一下,熟悉常见事件范围)事件列表: if event == cv.EVENT_LBUTTONDBLCLK: # 触发事件为左键双击 if event == cv.EVENT_LBUTTONDOWN: # 触发事件为左键按下时 if event == cv.EVENT_LBUTTONUP: # 触发事件为左键弹起时 if event == cv.EVENT_RBUTTONDBLCLK: # 触发事件为右键双击时 if event == cv.EVENT_RBUTTONDOWN: # 触发事件为右键按下时 if event == cv.EVENT_RBUTTONUP: # 触发事件为右键弹起时 if event == cv.EVENT_MBUTTONDBLCLK: # 触发事件为中键滚轮双击时 if event == cv.EVENT_MBUTTONDOWN: # 触发事件为中键滚轮按下时 if event == cv.EVENT_MBUTTONUP: # 触发事件为中键滚轮弹起时 if event == cv.EVENT_MOUSEWHEEL: # 触发事件为中键滚轮滚动时 if event == cv.EVENT_MOUSEMOVE: # 触发事件为鼠标移动时标志列表: if flags == cv.EVENT_FLAG_ALTKEY: # 触发标志为ALT键按下时 if flags == cv.EVENT_FLAG_CTRLKEY: # 触发标志为CTRL键按下时 if flags == cv.EVENT_FLAG_LBUTTON: # 触发标志为鼠标左键按下时 if flags == cv.EVENT_FLAG_MBUTTON: # 触发标志为鼠标中键滚轮按下时 if flags == cv.EVENT_FLAG_RBUTTON: # 触发标志为鼠标右键按下时 if flags == cv.EVENT_FLAG_ |
CopyRight 2018-2019 实验室设备网 版权所有 |